/*
      用数组代表每个人的能力
      一个比赛活动要求 参赛团队的最低能力值为N
      每个团队可以由一人或者两人组成
      且一个人只能参加一个团队
      计算出最多可以派出多少只符合要求的队伍

      输入描述
      5
      3 1 5 7 9
      8
      第一行代表总人数，范围  1~500000
      第二行数组代表每个人的能力
         数组大小范围 1~500000
         元素取值范围 1~500000
      第三行数值为团队要求的最低能力值
       1~500000

       输出描述
       3
       最多可以派出的团队数量

       示例一
       输入
       5
       3 1 5 7 9
       8

       输出
       3

       说明 3、5组成一队   1、7一队  9自己一队  输出3

     

        */

function getMaxTeam(num, arrList, n) {
    let res = [];
    let sorted = arrList.sort((a, b) => a - b);

    let j = sorted.length - 1;
    let i = 0;
    while (i < j) {
        if (sorted[j] >= n) {
            res.push(sorted[j]);
            j--;
        } else if (sorted[j] + sorted[i] >= n) {
            res.push([sorted[j], sorted[i]]);
            i++;
            j--;
        } else {
            i++
        }
    }
    console.log(res)
}
getMaxTeam(5, [3, 1, 5, 7, 9], 8)